package cn.com.dcsgo.sdk.payment.wechat.ltzf.factory;

import cn.com.dcsgo.sdk.payment.wechat.ltzf.payments.h5.H5PayService;
import cn.com.dcsgo.sdk.payment.wechat.ltzf.payments.jsapi.JsapiPayService;
import cn.com.dcsgo.sdk.payment.wechat.ltzf.payments.jumph5.JumpH5PayService;
import cn.com.dcsgo.sdk.payment.wechat.ltzf.payments.nativepay.NativePayService;

/**
 * 支付工厂，接口定义
 *
 * @author Dcsgo
 * @since 2024/8/13 上午10:05
 */

public interface PayFactory {
    /**
     * 获取一个扫码支付的 service
     * @return NativePayService
     */
    NativePayService nativePayService();

    /**
     * 获取一个H5支付的 service
     * @return JumpH5PayService
     */
    H5PayService h5PayService();

    /**
     * 获取一个H5[跳转模式]支付的 service
     * @return JumpH5PayService
     */
    JumpH5PayService jumpH5PayService();

    /**
     * 获取一个公众号支付的 service
     * @return JsapiPayService
     */
    JsapiPayService jsapiPayService();
}
